a) Field of the Invention
The present invention relates to a memory and more particularly, it relates to an image memory for storing image data which is used in e.g., liquid crystal printer and/or displays.
b) Discussion of Background Information
The progress of microprocessors has made it possible to process image data in a complex manner; for example, graphic patterns obtained by the microprocessors can be rotated and displayed as rotated images.
The image data for the graphic patterns comprises a plurality of bits, each bit representing one dot as either white or black as indicated by "0" or "1"; and a plurality of dots are stored as a unit in the memory. When the graphic patterns have colors and tones, plural bits are allotted to one dot. FIG. 1 shows an arrangement of a memory for storing image data (256 dots.times.256 dots). One address comprises one word (16 bits) and 16 dots in the horizontal or transverse direction of an image (i.e., the X-direction image), and a dot in the vertical or longitudinal direction thereof (i.e., the Y-direction image); the group of 16 dots is stored as one word to represent a corresponding position of the image. The image is separated at the 16th dot as viewed when counting from the upper left dot rightwardly, and the data of these 16 dots (or 16 bits) is stored in an image address "000H"; and data relating to the next 16 dots located to the right is stored in an image address XG "001H". Since there are 256 dots in the horizontal direction, 16 addresses (the less significant bits of the addresses are 4 bits) correspond to one line or row. Each dot in the Y direction, i.e., of image addresses (YG), represents one row; and these dots are stored as "000H", "010H", . . . (wherein "H" represents a hexadecimal system).
When the data stored in the memory is to be read in a conventional manner, the addresses 000,001, . . . 010, 011, . . . are read out in this order, so that the image data representing a graphic pattern at its right or unturned position (when the graphic pattern is not rotated) can be obtained.
In order to obtain image data which represent the graphic pattern, i.e., which are turned 90.degree. clockwise from the position where the data is firstly displayed on the display screen for example, bits which correspond to one lower left dot are read out so that they are located in the upper left position. More specifically, if MSB (B15) of 16 bits corresponds to the left side of a display screen, 16 words of addresses FF0-F00 are successively read out, a bit 15 (B15) of each of the 16 words is designated to represent one word, and this one word thus obtained is taken for one word (address 000) at the upper left of the display screen. 16 words of addresses EF0-E00 are then read out, and a bit 15 (B15) of each of the 16 words is taken for one word and used as the next single word (address 001). After one column is thus read out, 16 words of the same addresses FF0-F00 are read out and a bit 14 (B14) of each of the 16 words is represented as one word. After 16 columns are read out, one word is similarly taken from a bit 15 of each of the 16 words of the addresses EF0-E00. The image data which has been turned clockwise by 90.degree. can be thus obtained by this read-out of 16 words and selection of one bit.
In the above-described conventional case of obtaining image data turned by 90.degree., all of the data is read out in single word units, but only one bit of each of the words thus read out becomes effective as the data. In other words, 15 bits of the 16 bits read out become ineffective as data. When writing is to be carried out, the data of the 16 bits to be stored is divided and is all placed into a single bit, so that just one word which corresponds to an intended position for such bits in the memory will be read out; and thus the position of only one bit of the one word converted to a new position will be read, thereby causing the image data turned by 90.degree. and to then be stored in a new position. In short, read-out and write can be achieved in a form of 16 bits, but the process is carried out in the form of one bit, thereby taking a long time. Particularly, when writing is carried out, read-out is done at one time, and storing is then carried out, thereby causing the process to take a longer time than necessary.
In a case where direct access is successively made to the above-described memory in the horizontal direction in order to output video signals to the display unit such as a CRT, such access is achieved using a circuit that performs as described above. However, read-out speed in the horizontal direction is different from that in the vertical direction, and the manner of processing obtained words at every dot in the horizontal direction is also different from that in the vertical direction. I.e., the process is effected using registers of a parallel-in and serial-out type every time one word is read out in the horizontal direction; while an intended bit is selected and outputted every time one word is read out in the vertical direction, thereby making the circuit complicated.
Further, when the graphic pattern is rotated over less than the entire display screen, i.e., over only a part thereof, a more complicated process circuit is needed.